public class offer34
{
    public int GetUglyNumber_Solution(int index)
    {
        if(index<=0)
            return 0;
        if(index==1)
            return 1;

        int min=1;
        int[] a=new int[index+1];
        a[0]=1;
        int a2,a3,a5;
        a2=0;
        a3=0;
        a5=0;
        int min2,min3,min5;
        min2=min3=min5=1;
        int i;
        for(i=1;i<=index;i++)
        {

           min=getmin(min2,min3,min5);
           a[i]=min;

           while(min2<=min)
           {
               a2++;
               min2=a[a2]*2;
           }

           while(min3<=min)
           {
               a3++;
               min3=a[a3]*3;
           }

           while(min5<=min)
           {
               a5++;
               min5=a[a5]*5;
           }


        }
        return min;
    }
    public int getmin(int a2,int a3,int a5)
    {
        int min=a2;
        if(a3<min)
            min=a3;
        if(a5<min)
            min=a5;
        return min;
    }
}